﻿using System;
using System.IO;

namespace INIParser
{
	public class INIParser
	{
		/// <summary>
		/// Is section and property name case sensitive
		/// </summary>
		public bool CaseSensitive { get; set; }

		/// <summary>
		/// Use number sign (#) as comment
		/// </summary>
		public bool NumberSignComment { get; set; }

		/// <summary>
		/// Allow escape characters
		/// </summary>
		public bool EscapeCharacters { get; set; }

		/// <summary>
		/// How to process duplicate names
		/// </summary>
		public DuplicateNames DuplicateNames { get; set; }

		/// <summary>
		/// How to process duplicate sections
		/// </summary>
		public DuplicateSections DuplicateSections { get; set; }

		/// <summary>
		/// Allow properties without a section
		/// </summary>
		public bool GlobalProperties { get; set; }

		/// <summary>
		/// Use colon as property delimiter
		/// </summary>
		public bool ColonDelimiter { get; set; }

		/// <summary>
		/// Allow quoted values with double quotes
		/// </summary>
		public bool QuotedValues { get; set; }

		/// <summary>
		/// How to process white spaces
		/// </summary>
		public WhiteSpaces WhiteSpaces { get; set; }

		public INIData Parse(string filename)
		{

		}

		public INIData Parse(Stream stream)
		{

		}
	}
}
